package main

import (
	"fmt"
	"time"
)

func main() {
	var a [10]int
	for i := 0; i < 10; i++ {
		go func(i int) {
			fmt.Println(i)
			for {
				fmt.Printf("Hello from"+"goroutine %d\n", i)
				//a[i]++
			}
		}(i)
	}
	time.Sleep(time.Minute)
	fmt.Println(a)
}

/**
总结：协程Coroutine
轻量级线程
非抢占式多任务处理，有协程主动交出控制权
编译器、解释器、虚拟机层面的多任务
多个协程可能在一个或多个线程中运行
*/
